<?php


namespace app\admin\controller;

use app\admin\common\controller\Base;
use app\admin\common\model\Cate as CateModel;
use think\facade\Request;
use think\facade\Session;

class Cate extends Base
{
    //分类管理的首页
    public function index(){
        //1检查用户是否登录
        $this->isLogin();

        //2登录成功后直接跳转到分类管理界面
        return $this->redirect('cateList');
    }

    //分类列表
    public function cateList(){
        //1检查用户是否登录
        $this->isLogin();

        //2获取所有的分类
        $cateList = CateModel::all();

        //3设置模板变量
        $this->view->assign('title','分类管理');
        $this->view->assign('empty','<span style="color: red">没有分类</span>');
        $this->assign('cateList',$cateList);
        //4渲染分类显示的模板
        return $this->view->fetch('catelist');

    }

    //渲染编辑分类界面
    public function cateEdit(){
        //1获取到分类的id
        $cateId = Request::param('id');

        //2根据主键查询要更新的分类信息
        $cateInfo = CateModel::where('id',$cateId)->find();

        //3.设置模板变量
        $this->view->assign('title','编辑分类');
        $this->view->assign('cateInfo',$cateInfo);

        //4.渲染模板
        return $this->view->fetch('cateEdit');
    }

    //执行编辑操作
    public function doEdit(){
        //1.获取用户提交的信息
        $data = Request::param();

        //2.取出主键
        $id = $data['id'];

        //3.输出data中的id
        unset($data['id']);

        //4.执行更新操作
        if(CateModel::where('id',$id)->data($data)->update()){
            return $this->success('更新成功','cateList');
        }
        $this->error('更新失败或没有更新');
    }
    public function doDelete(){
        //1.获取要删除的id
        $id = Request::param('id');
//        halt($id);

        //2.执行删除
        if(CateModel::where('id',$id)->delete()){
            return $this->success('删除成功','cateList');
        }
        $this->error('删除失败');
    }

    //添加分类 渲染添加界面
    public function cateAdd(){
        return $this->fetch('cateadd',['title'=>'添加分类']);
    }

    //添加分类
    public function doAdd(){
        //获取到所有要添加的分类信息
        $data = Request::param();
        $data['user_id'] = Session::get('admin_id');
        //执行操作 并判断是否成功
        if(CateModel::create($data)){
            $this->success('添加成功','catelist');
        }else{
            $this->error('添加失败');
        }
    }

}